package label_center

import (
	"time"

	"github.com/qida/gohp/timex"
)

// 基础标签

// 请求 创建
type ReqCreateBaseLabel struct {
	AppId string `json:"AppId"` //应用Id 默认=rtp

	LabelId     int64  `json:"LabelId"`
	LabelName   string `json:"LabelName"`             //标签名称
	LabelNamePy string `json:"LabelNamePy,omitempty"` //标签名称首拼字母，为空时系统自动生成

	Log Log `json:"Log,omitempty"` //追踪日志
}

// 请求 删除
type ReqDeleteBaseLabel struct {
	LabelId int64 `json:"LabelId"` //标签Id

	Log Log `json:"Log,omitempty"` //追踪日志
}

// 请求 更新
type ReqUpdateBaseLabel struct {
	AppId string `json:"AppId"` //应用Id 默认=rtp

	LabelId     int64  `json:"LabelId"`               //标签Id
	LabelName   string `json:"LabelName"`             //标签名称
	LabelNamePy string `json:"LabelNamePy,omitempty"` //标签名称首拼字母，为空时系统自动生成
	// TypeId      int8      `json:"TypeId,omitempty"`      //类型Id 图片=1 设备=2
	// Status     int8      `json:"Status"`               //标签状态 正常:10 删除:-10
	TimeCreate time.Time `json:"TimeCreate,omitempty"` //记录创建时间

	Log Log `json:"Log,omitempty"` //追踪日志
}

// 请求 搜索查询
type ReqSearchBaseLabel struct {
	AppId string `json:"AppId,omitempty"` //应用Id 默认=rtp

	KeyWord     string `json:"KeyWord,omitempty"`     //全局关键词
	LabelId     int64  `json:"LabelId,omitempty"`     //标签Id
	LabelName   string `json:"LabelName,omitempty"`   //标签名称
	LabelNamePy string `json:"LabelNamePy,omitempty"` //标签名称首拼字母，为空时系统自动生成
	// TypeId      int8     `json:"TypeId,omitempty"`      //类型Id 图片=1 设备=2
	// Status      int8     `json:"Status,omitempty"`      //标签状态 正常:10 删除:-10
	Page        int64    `json:"Page"`                  //必填 指定返回页码号
	Limit       int64    `json:"Limit"`                 //必填 指定返回每页条数
	FieldOrders []string `json:"FieldOrders,omitempty"` //指定要排序的字段数组，默认升序，降序加前缀-，如 ["-Id", "Name"] 按Id降序Name升序排列

	Log Log `json:"Log,omitempty"` //追踪日志
}

// 响应 单一对象
type RespBaseLabel struct {
	AppId string `json:"AppId"` //应用Id 默认=rtp

	LabelId     int64  `json:"LabelId"`     //标签Id
	LabelName   string `json:"LabelName"`   //标签名称
	LabelNamePy string `json:"LabelNamePy"` //标签名称首拼字母，为空时系统自动生成
	// TypeId      int8      `json:"TypeId"`      //类型Id 图片=1 设备=2
	// Status     int8           `json:"Status"`     //标签状态 正常:10 删除:-10
	TimeCreate time.Time      `json:"TimeCreate"` //记录创建时间
	TimeUpdate timex.TimeNull `json:"TimeUpdate"` //记录更新时间
}

// 响应 查询列表
type RespBaseLabels struct {
	Total      int64           `json:"Total"`      //返回列表的总条数
	BaseLabels []RespBaseLabel `json:"BaseLabels"` //返回列表对象
}
